package cc.eddic.pratice.programmingparadigms.exam;

import cc.eddic.pratice.programmingparadigms.advanced.EddicInterface;
import cc.eddic.pratice.programmingparadigms.exam.domain.Category;
import cc.eddic.pratice.programmingparadigms.exam.domain.Exam;
import cc.eddic.pratice.programmingparadigms.exam.domain.Student;

import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;

@EddicInterface
public interface MasterDataService {
    List<Category> getCategories();

    List<Student> getStudents();

    List<Exam> getExams();

    @Deprecated
    <T> Optional<T> find(List<T> exams, Predicate<T> predicate);
}
